﻿// Inner Fire 游戏引擎库
// DirectX 基础工具类
//
// Copyright (c) 2024 by 尔西大帝. All rights reserved.
//
// 所有的Dx类都需要引用此类，做最基础的工作。
//
// Author: 尔西大帝
// Email: 2670613871@qq.com
// Created: 2024-11-30

#pragma once

#include <DirectXMath.h>
#include <d3d12.h>
#include <d3dx12.h>
#include <dxgi.h>
#include <wrl/client.h>
#include <graphics/graphics_def.h>
#include <memory>

using Microsoft::WRL::ComPtr;

namespace ifire::dx {

// 默认的缓冲区的格式
constexpr auto BACK_BUFFER_FORMAT = DXGI_FORMAT_R8G8B8A8_UNORM;
constexpr DXGI_FORMAT DEPTH_STENCIL_FORMAT = DXGI_FORMAT_D24_UNORM_S8_UINT;
// 纹理的类型
enum class TextureType : int { Image = 0, Normal, Cube, TextureArray, Count };


} // namespace ifire::dx